#pragma once
#include"BitSet.h"

namespace xiaoqing
{
	template<size_t N>
	class dbitset
	{
	public:
	void set(size_t x)
		{
			//00->01
			if (!bit1.test(x) && !bit2.test(x))
			{
				bit2.set(x);
			}
			else if (!bit1.test(x) && bit2.test(x))//01->10
			{
				bit1.set(x);
				bit2.reset(x);
			}
			

		}
		bool is_once(size_t x)
		{
			return !bit1.test(x) && bit2.test(x);
		}

	private:

		xiaolin::bitset<N> bit1;
		xiaolin::bitset<N> bit2;

	};
}